<?php

		if(empty($sortBy))	$sortBy="1";
		if(!empty($search))	$additionalReq .= " AND (cdr_otchet.numbertodial LIKE '%".$search."%')";
//ini_set('display_errors',1);
//error_reporting(E_ALL);
// ----------------------------------------------------------------------------
// Подзапрос для временной таблицы где выбираем все исходящие
		$qTemp="create temporary table cdr_otchet AS
		SELECT n.numbertodial,n.calltime,n.endtime-n.answertime AS Dur, 
		pg_prefix(n.numbertodial) as prefix
		, pg_get_price(n.answertime,n.endtime,pg_prefix(n.numbertodial),'1') AS price
		,createtrunk, numberfromdial,createstation,selectiontrunk
		from cdr AS n
		WHERE
		 n.calltime >='".$from_date."' AND n.calltime<='".$to_date."' 
		 AND (callstatus='13' OR callstatus='6' OR  callstatus='24' ) 
		 AND n.numbertodial!='0'
		 AND character_length(n.numbertodial)>'5'
		 AND( createtrunk='0'OR createtrunk='11')";
		if($debug) echo $qTemp."<br>";

$conn->Execute($qTemp);

// Подзапрос для выяснения общего количества страниц
// ----------------------------------------------------------------------------
		$qP="SELECT COUNT(*) from cdr_otchet AS cd ";

		$limitsP = getLimits($qP);

$qDT="DROP TABLE cdr_otchet";

//-----------------------------------------------------------------------------
		$q="SELECT calltime,createstation,numbertodial
		,Dur AS duration, destinations.name, price
		from cdr_otchet
		LEFT JOIN destinations ON cdr_otchet.prefix=destinations.prefix
		ORDER BY ".$sortBy." ".$order;

		if($debug) echo $q."<br>";
//		if($cacheflush) $res = $conn->CacheFlush($q);
//		$res = $conn->CacheExecute($q);
$res = $conn->Execute($q);


$conn->Execute($qDT);

// Напечатаем на странице все исходные параметры нашего запроса
// ----------------------------------------------------------------------------
		if(!empty($res->fields[4])) $coLineDescription = $res->fields[4];
		if(!empty($res->fields[5])) $intPhoneDescription = $res->fields[5];
		if(empty($export)) pechat_ishodnyh();

// если по запросу найдены записи в таблице 
// ----------------------------------------------------------------------------
		if ($res && $res->RecordCount() > 0) { 
// Проверим, может это экспорт?
// ----------------------------------------------------------------------------
		    if(empty($export)){

			print("<table cellspacing=0 cellpadding=1 border=0><tr ".$COLORS['BaseBorderTableBgcolor'].">
			    <td>
				<table cellspacing=1 cellpadding=6 border=0>");
			print ("<tr ".$COLORS['BaseTablesBgcolor']." align=center>
			<td>");
			AddTableHeader("1",$GUI_LANG['DateOfCall'],$toprint);
			echo("</td>
			<td>");
			AddTableHeader("2",$GUI_LANG['InternalPhone'],$toprint);
			echo("</td>
			<td>");
			AddTableHeader("3",$GUI_LANG['Number'],$toprint);
			echo("</td>
			<td>");
			AddTableHeader("5",$GUI_LANG['Direction'],$toprint);
			echo("</td>
			<td>");
			AddTableHeader("4",$GUI_LANG['Duration'],$toprint);
			echo("</td>
			<td>");
			AddTableHeader("6",$GUI_LANG['Price'],$toprint);
			echo("</td>
			</tr>");
		    }else{
// Да, это действительно экспорт!
// ------------------------------------------------------------------------------------------------------

$objPHPExcel = new PHPExcel();

// Set document properties
$objPHPExcel->getProperties()->setCreator("Denis Davydov")
                      ->setLastModifiedBy("Denis Davydov")
                      ->setTitle("Office 2007 XLSX Test Document")
                      ->setSubject("Office 2007 XLSX Test Document")
                      ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
                      ->setKeywords("office 2007 openxml php")
                      ->setCategory("Test result file");
 
 
			$aSheet = $objPHPExcel->getActiveSheet();
//			// Ориентация страницы и  размер листа
			$aSheet->getPageSetup()
		           ->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT);
			$aSheet->getPageSetup()
		           ->SetPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
//		        // Поля документа
			$aSheet->getPageMargins()->setTop(1);
			$aSheet->getPageMargins()->setRight(0.75);
			$aSheet->getPageMargins()->setLeft(0.75);
			$aSheet->getPageMargins()->setBottom(1);
// Название листа
			$aSheet->setTitle('Отчет 1 все звонки');
// Шапка и футер (при печати)
$aSheet->getHeaderFooter()
       ->setOddHeader('ООО Информсистемы');
$aSheet->getHeaderFooter()
       ->setOddFooter('&L&B'.$aSheet->getTitle().'&RСтраница &P из &N');
//// Настройки шрифта
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(8);

$aSheet->getColumnDimension('A')->setWidth(18);
$aSheet->getColumnDimension('B')->setWidth(10);
$aSheet->getColumnDimension('C')->setWidth(15);
$aSheet->getColumnDimension('D')->setWidth(30);
$aSheet->getColumnDimension('E')->setWidth(15);
$aSheet->getColumnDimension('F')->setWidth(15);

$aSheet->mergeCells('A1:E1');
$aSheet->getRowDimension('1')->setRowHeight(20);
$aSheet->setCellValue('A1','ООО Информсистемы');
$aSheet->mergeCells('A2:E2');
$aSheet->setCellValue('A2','Отчет по всем входящим и исходящим звонкам');
$aSheet->mergeCells('A4:C4');
$aSheet->setCellValue('A4','Дата создания отчета');

// Записываем данные в ячейку
$date = date('d-m-Y');
$aSheet->setCellValue('D4',$date);
// Устанавливает формат данных в ячейке (дата вида дд-мм-гггг)
$aSheet->getStyle('D4')->getNumberFormat()
    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX14);

//$aSheet->setCellValue('A6','№');
//$aSheet->setCellValue('B6','Код');
//$aSheet->setCellValue('C6','Наименование');
//$aSheet->setCellValue('D6','Описание');
//$aSheet->setCellValue('E6','Цена');
			$aSheet->setCellValue('A5',$GUI_LANG['DateOfCall']);
			$aSheet->getStyle('A5',$GUI_LANG['DateOfCall'])->getAlignment()->setWrapText(true);
			$aSheet->setCellValue('B5',$GUI_LANG['InternalPhone']);
			$aSheet->getStyle('B5',$GUI_LANG['InternalPhone'])->getAlignment()->setWrapText(true);
			$aSheet->setCellValue('C5',$GUI_LANG['Number']);
			$aSheet->setCellValue('D5',$GUI_LANG['Direction']);
			$aSheet->setCellValue('E5',$GUI_LANG['Duration']);
			$aSheet->setCellValue('F5',$GUI_LANG['Price']);
//			$aSheet->setCellValue(, "   ");
//			$aSheet->setCellValue(, "   ");
					    
		    }
		
		if(!empty($export)){ 
		$res = $conn->Execute($qnL);
		}
		$anyDigit=1;
		$linha=0;
		while (!$res->EOF) {
			$row = $res->fields;

			$timeOfCall=$row[0];
			$intPhone=$row[1];
			$CallNumber=$row[2];
			$Duration=$row[3];
			$NDirection=$row[4];
			$NPrice=$row[5];

			setCollColor();

			if(empty($export)){                            
			    echo"<tr ".$COLORS['BaseTrBgcolor']." 
		onmouseover=\"setPointer(this, $anyDigit, 'over');
		\" onmouseout=\"setPointer(this, $anyDigit, 'out');
		\" onmousedown=\"setPointer(this, $anyDigit, 'click');\">";
			    echo"<td nowrap>${FontColor}$timeOfCall${FontColorEnd}</td>";
			    echo"<td>${FontColor}$CallNumber${FontColorEnd}</td>";
			    echo"<td>${FontColor}$intPhone${FontColorEnd}</td>";
			    echo"<td>
			    <table width=100%>
					<tr>
					    <td width=1%>${FontColor}$NDirection${FontColorEnd}&nbsp;</td>
					</tr>
				    </table>
				</td>";
			    echo"<TD>${FontColor}".$Duration."${FontColorEnd}</TD>";
			    echo"<TD>${FontColor}".$NPrice."${FontColorEnd}</TD>";

			    echo "</TR>\n";
			}else{

			    $aSheet->setCellValue('A'.($linha+6), $timeOfCall);
//    $aSheet->getStyle('B'.($linha+6))
//    ->getNumberFormat()
//    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
    $aSheet->setCellValueExplicit('B'.($linha+6),$intPhone, PHPExcel_Cell_DataType::TYPE_STRING);
			    $aSheet->setCellValue('C'.($linha+6), $CallNumber);
			    $aSheet->setCellValue('E'.($linha+6), $Duration);
			    $aSheet->setCellValue('F'.($linha+6), $NPrice);
			    $aSheet->setCellValue('D'.($linha+6), $NDirection);
			}
			
			$res->MoveNext();
			$anyDigit++;
			$linha++;
		    };
// Функция totalTableFooter() выводит итоговые сведения. В качестве аргумента выступает номер SQL запроса
// Функция sumTotal() преобразует число секунд в количество часов,минут и секунд.
// ------------------------------------------------------------------------------------------------------
	if(empty($export)){
	    echo("<tr ".$COLORS['AltogetherTrBgcolor'].">");
	    echo("<td>".$GUI_LANG['Total'].": <b>!!!!!!!!!</b></td>");
    	    echo("<td colspan=4>");
//	    if(!empty($InAll[2])) echo $GUI_LANG['GeneralDuration'].": ".sumTotal($InAll[2],1);
	    echo("&nbsp;</td>");
	    print ("</tr>\n");

	    if($pages > 1 or $debug){
		echo("<tr ".$COLORS['TotalTrBgcolor']."><td>".$GUI_LANG['Altogether'].":&nbsp;&nbsp;</td>");
    		echo("<td colspan=4>");
		echo totalTableFooter('5',0);
		echo totalTableFooter('6',0);
		echo totalTableFooter('7',0);
		echo totalTableFooter('8',0);
		echo("&nbsp;</td>");
		print ("</tr>\n");
	    }

	    print ("</table>\n\n </td></tr></table>");
	}else{
		//	print("<br><font size=+1> wererf".$GUI_LANG['NoSuchData']."</font>");


// Redirect output to a client’s web browser (Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');

// If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;

//$objWriter = PHPExcel_IOFactory::createWriter($pExcel, 'Excel2007');
//$objWriter = new PHPExcel_Writer_Excel2007($pExcel);
//$objWriter->save('price.xlsx');

$conn->Execute($qDT);


	}
	
//	if(!empty($export))
//	{

// $expor_excel->GeraArquivo();
//}
// ------------------------------------------------------------------------------------------------------
		}else{
			print("<br><font size=+1>hhhhh".$GUI_LANG['NoSuchData']."</font>");
		};

?>
